﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace Soundless_Project
{
    class Inimigo : Objeto2D // Classe extendida da classe Objeto2D
    {
        public Vector2 posicaInicial;
        public Inimigo(Texture2D textura) :
            base(textura)
        {
            escala = 0.5f;
        }

        public void Update(Personagem player)
        {
            float distancia = (float)Math.Sqrt((player.posicao.Y - this.posicao.Y) * (player.posicao.Y - this.posicao.Y) + 
                                               (player.posicao.X - this.posicao.X) * (player.posicao.X - this.posicao.X));
           // A linha acima calcula a distancia entre o inimigo e o jogador

            if (distancia < 100) //parte da função que aproxima o inimigo do jogador se a distancia entre eles for menor que 100
            {
                double angulo = Math.Atan2((double)(player.posicao.Y - this.posicao.Y), (double)(player.posicao.X - this.posicao.X));
                this.posicao.Y += (float)Math.Sin(angulo);
                this.posicao.X += (float)Math.Cos(angulo);
            }
            else
            {
                double angulo = Math.Atan2((double)(this.posicaInicial.Y - this.posicao.Y), (double)(this.posicaInicial.X - this.posicao.X));
                this.posicao.Y += (float)Math.Sin(angulo);
                this.posicao.X += (float)Math.Cos(angulo);
            }

        }

    }

}
